<?php

class RL_View_File extends RL_View
{

	/**
	 * path полный путь к файлу.
	 * 
	 * @var string
	 * @access public
	 */
	public $path = '';

	/**
	 * bufsize размер блоков, которыми читать файл с диска
	 * 
	 * @var int
	 * @access public
	 */
	public $bufsize = 16384;

	public function getDataStream ()
	{
		$this->ctx->rh->useClass('RL_Stream');
		
		$stream = RL_Stream::create($this->ctx, 'File');
		$stream->setPath($this->getPath());
		return $stream;
	} // end of function getDataStream

	public function buildMeta ()
	{
		$this->ctx->rh->useClass('RL_Meta');
		$meta = RL_Meta::create($this->ctx, 'File');
		$meta->setObject($this);
		return $meta;
	} // end of function buildMeta


	public function getPath ()
	{
		return $this->path;
	} // end of function getPath

	public function setPath ($value)
	{
		$this->path = $value;
		return $this;
	} // end of function setPath

	public function getContent ()
	{
		// полный путь к файлу
		$fpath = $this->getPath();

		return file_get_contents($fpath);
	} // end of function getContent

	public function __toString ()
	{
		return $this->getContent();
	} // end of function __toString

} // end of class RL_View_File

